In [ ]:
# We willen de software bibliotheken "RPi.GPIO" en "time" gebruiken in onze code
import RPi.GPIO as GPIO
import time
# Voor de GPIO pinnetjes zullen we de BCM nummering gebruiken (cfr nummers op de behuizing)
GPIO.setmode(GPIO.BCM)
# De PIR pin van de sensor sluiten we aan op poort 18
PIR_PIN = 7
#De LED gaan we aansluiten op poort 24
LED_PIN = 18
# Op de Raspberry Pi stellen we de PIR pin in als "input" en de LED poort als "output"
# Op die manier kan de Raspberry Pi luisteren naar de PIR en een signaal sturen naar de LED
GPIO.setup(PIR_PIN, GPIO.IN)
GPIO.setup(LED_PIN, GPIO.OUT)
In [ ]:
# We maken een functie om de led één keer te laten knipperen
def flash_led():
GPIO.output(LED_PIN, 1)
time.sleep(0.5)
GPIO.output(LED_PIN, 0)
In [ ]:
# En op basis daarvan een functie die uitgevoerd moet worden als er beweging gedetecteerd wordt
def on_motion(PIR_PIN):
flash_led()
print("Halt!")
In [ ]:
# Hier koppelen we de PIR_PIN aan de on_motion functie die we net gemaakt hebben.
# we registreren een event detection in de GPIO bibliotheek en bepalen dat,
# wanneer de Raspberry Pi ziet dat er op de PIR_PIN een "RISING" signaal binnenkomt (de pin gaat van 0 naar 1),
# de on_motion functie uitgevoerd moet worden.
GPIO.add_event_detect(PIR_PIN, GPIO.RISING, callback=on_motion)
Nu kan je de bewegingssensor triggeren en zal de Raspberry Pi je functie uitvoeren
In [ ]:
#GPIO opkuisen:
#de net geregistreerde event detection verwijderen en GPIO herinitialiseren
GPIO.remove_event_detect(PIR_PIN)
GPIO.cleanup()